package com.shzu.jwc.ty.bean;

import java.util.ArrayList;
import java.util.List;

public class SystemStudytimeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SystemStudytimeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSystemStudytimeIdIsNull() {
            addCriterion("system_studytime_id is null");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdIsNotNull() {
            addCriterion("system_studytime_id is not null");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdEqualTo(Integer value) {
            addCriterion("system_studytime_id =", value, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdNotEqualTo(Integer value) {
            addCriterion("system_studytime_id <>", value, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdGreaterThan(Integer value) {
            addCriterion("system_studytime_id >", value, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("system_studytime_id >=", value, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdLessThan(Integer value) {
            addCriterion("system_studytime_id <", value, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdLessThanOrEqualTo(Integer value) {
            addCriterion("system_studytime_id <=", value, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdIn(List<Integer> values) {
            addCriterion("system_studytime_id in", values, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdNotIn(List<Integer> values) {
            addCriterion("system_studytime_id not in", values, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdBetween(Integer value1, Integer value2) {
            addCriterion("system_studytime_id between", value1, value2, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andSystemStudytimeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("system_studytime_id not between", value1, value2, "systemStudytimeId");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumIsNull() {
            addCriterion("user_student_info_num is null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumIsNotNull() {
            addCriterion("user_student_info_num is not null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumEqualTo(String value) {
            addCriterion("user_student_info_num =", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumNotEqualTo(String value) {
            addCriterion("user_student_info_num <>", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumGreaterThan(String value) {
            addCriterion("user_student_info_num >", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumGreaterThanOrEqualTo(String value) {
            addCriterion("user_student_info_num >=", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumLessThan(String value) {
            addCriterion("user_student_info_num <", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumLessThanOrEqualTo(String value) {
            addCriterion("user_student_info_num <=", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumLike(String value) {
            addCriterion("user_student_info_num like", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumNotLike(String value) {
            addCriterion("user_student_info_num not like", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumIn(List<String> values) {
            addCriterion("user_student_info_num in", values, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumNotIn(List<String> values) {
            addCriterion("user_student_info_num not in", values, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumBetween(String value1, String value2) {
            addCriterion("user_student_info_num between", value1, value2, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumNotBetween(String value1, String value2) {
            addCriterion("user_student_info_num not between", value1, value2, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameIsNull() {
            addCriterion("user_student_info_name is null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameIsNotNull() {
            addCriterion("user_student_info_name is not null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameEqualTo(String value) {
            addCriterion("user_student_info_name =", value, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameNotEqualTo(String value) {
            addCriterion("user_student_info_name <>", value, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameGreaterThan(String value) {
            addCriterion("user_student_info_name >", value, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameGreaterThanOrEqualTo(String value) {
            addCriterion("user_student_info_name >=", value, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameLessThan(String value) {
            addCriterion("user_student_info_name <", value, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameLessThanOrEqualTo(String value) {
            addCriterion("user_student_info_name <=", value, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameLike(String value) {
            addCriterion("user_student_info_name like", value, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameNotLike(String value) {
            addCriterion("user_student_info_name not like", value, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameIn(List<String> values) {
            addCriterion("user_student_info_name in", values, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameNotIn(List<String> values) {
            addCriterion("user_student_info_name not in", values, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameBetween(String value1, String value2) {
            addCriterion("user_student_info_name between", value1, value2, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNameNotBetween(String value1, String value2) {
            addCriterion("user_student_info_name not between", value1, value2, "userStudentInfoName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolIsNull() {
            addCriterion("user_student_info_school is null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolIsNotNull() {
            addCriterion("user_student_info_school is not null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolEqualTo(String value) {
            addCriterion("user_student_info_school =", value, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolNotEqualTo(String value) {
            addCriterion("user_student_info_school <>", value, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolGreaterThan(String value) {
            addCriterion("user_student_info_school >", value, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolGreaterThanOrEqualTo(String value) {
            addCriterion("user_student_info_school >=", value, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolLessThan(String value) {
            addCriterion("user_student_info_school <", value, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolLessThanOrEqualTo(String value) {
            addCriterion("user_student_info_school <=", value, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolLike(String value) {
            addCriterion("user_student_info_school like", value, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolNotLike(String value) {
            addCriterion("user_student_info_school not like", value, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolIn(List<String> values) {
            addCriterion("user_student_info_school in", values, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolNotIn(List<String> values) {
            addCriterion("user_student_info_school not in", values, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolBetween(String value1, String value2) {
            addCriterion("user_student_info_school between", value1, value2, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoSchoolNotBetween(String value1, String value2) {
            addCriterion("user_student_info_school not between", value1, value2, "userStudentInfoSchool");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearIsNull() {
            addCriterion("user_student_info_year is null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearIsNotNull() {
            addCriterion("user_student_info_year is not null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearEqualTo(Integer value) {
            addCriterion("user_student_info_year =", value, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearNotEqualTo(Integer value) {
            addCriterion("user_student_info_year <>", value, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearGreaterThan(Integer value) {
            addCriterion("user_student_info_year >", value, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_student_info_year >=", value, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearLessThan(Integer value) {
            addCriterion("user_student_info_year <", value, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearLessThanOrEqualTo(Integer value) {
            addCriterion("user_student_info_year <=", value, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearIn(List<Integer> values) {
            addCriterion("user_student_info_year in", values, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearNotIn(List<Integer> values) {
            addCriterion("user_student_info_year not in", values, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearBetween(Integer value1, Integer value2) {
            addCriterion("user_student_info_year between", value1, value2, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoYearNotBetween(Integer value1, Integer value2) {
            addCriterion("user_student_info_year not between", value1, value2, "userStudentInfoYear");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassIsNull() {
            addCriterion("user_student_info_class is null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassIsNotNull() {
            addCriterion("user_student_info_class is not null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassEqualTo(String value) {
            addCriterion("user_student_info_class =", value, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassNotEqualTo(String value) {
            addCriterion("user_student_info_class <>", value, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassGreaterThan(String value) {
            addCriterion("user_student_info_class >", value, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassGreaterThanOrEqualTo(String value) {
            addCriterion("user_student_info_class >=", value, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassLessThan(String value) {
            addCriterion("user_student_info_class <", value, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassLessThanOrEqualTo(String value) {
            addCriterion("user_student_info_class <=", value, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassLike(String value) {
            addCriterion("user_student_info_class like", value, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassNotLike(String value) {
            addCriterion("user_student_info_class not like", value, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassIn(List<String> values) {
            addCriterion("user_student_info_class in", values, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassNotIn(List<String> values) {
            addCriterion("user_student_info_class not in", values, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassBetween(String value1, String value2) {
            addCriterion("user_student_info_class between", value1, value2, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoClassNotBetween(String value1, String value2) {
            addCriterion("user_student_info_class not between", value1, value2, "userStudentInfoClass");
            return (Criteria) this;
        }

        public Criteria andStudytimeIsNull() {
            addCriterion("studytime is null");
            return (Criteria) this;
        }

        public Criteria andStudytimeIsNotNull() {
            addCriterion("studytime is not null");
            return (Criteria) this;
        }

        public Criteria andStudytimeEqualTo(Double value) {
            addCriterion("studytime =", value, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeNotEqualTo(Double value) {
            addCriterion("studytime <>", value, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeGreaterThan(Double value) {
            addCriterion("studytime >", value, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeGreaterThanOrEqualTo(Double value) {
            addCriterion("studytime >=", value, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeLessThan(Double value) {
            addCriterion("studytime <", value, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeLessThanOrEqualTo(Double value) {
            addCriterion("studytime <=", value, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeIn(List<Double> values) {
            addCriterion("studytime in", values, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeNotIn(List<Double> values) {
            addCriterion("studytime not in", values, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeBetween(Double value1, Double value2) {
            addCriterion("studytime between", value1, value2, "studytime");
            return (Criteria) this;
        }

        public Criteria andStudytimeNotBetween(Double value1, Double value2) {
            addCriterion("studytime not between", value1, value2, "studytime");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdIsNull() {
            addCriterion("system_year_id is null");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdIsNotNull() {
            addCriterion("system_year_id is not null");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdEqualTo(Integer value) {
            addCriterion("system_studytime.system_year_id =", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdNotEqualTo(Integer value) {
            addCriterion("system_year_id <>", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdGreaterThan(Integer value) {
            addCriterion("system_year_id >", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("system_year_id >=", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdLessThan(Integer value) {
            addCriterion("system_year_id <", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdLessThanOrEqualTo(Integer value) {
            addCriterion("system_year_id <=", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdIn(List<Integer> values) {
            addCriterion("system_year_id in", values, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdNotIn(List<Integer> values) {
            addCriterion("system_year_id not in", values, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdBetween(Integer value1, Integer value2) {
            addCriterion("system_year_id between", value1, value2, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdNotBetween(Integer value1, Integer value2) {
            addCriterion("system_year_id not between", value1, value2, "systemYearId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}